import os
import subprocess

from flask import Flask, request, jsonify
from flask_cors import CORS

app = Flask(__name__)
CORS(app)


@app.route("/set", methods=['post'])
def set_event():
    """
    设置环境变量
    :return: none
    """
    # 设置环境变量
    data = request.get_json()
    value = data.get('JAVA_HOME')
    print(value)
    result = subprocess.run(["setx", "JAVA_HOME", '%'+value+'%', "/M"], capture_output=True, text=True, encoding='gbk')
    print(result.stdout)
    print(os.environ.get("JAVA_HOME"))
    response_data = {
        'name': os.environ.get("JAVA_HOME"),
    }
    return jsonify(response_data)


@app.route("/get")
def get_event():
    """
    获取环境变量的值
    :return: 环境变量值
    """
    eveName = request.args.get('name')  # 获取名为"name"的参数值
    response_data = {
        'val': os.environ.get(eveName),
    }
    return jsonify(response_data)


if __name__ == '__main__':
    print("请输入 java8 则替换环境变量 JAVA_HOME 为 java_home8 ")
    print("请输入 java17 则替换环境变量 JAVA_HOME 为 java_home17 ")
    print("因此，如果安装了多个JDK，请设置设置环境变量为Java_home version")
    print("另外，请确保你是管理员权限运行")
    app.run()
    # while True:
    #     val = input("请输入java8或java17")
    #     if val == "java8":
    #         set_event("%JAVA_HOME8%")
    #         break
    #     elif val == "java17":
    #         set_event("%JAVA_HOME17%")
    #         break
    #     else:
    #         print("暂不支持")
